package com.zdkj.subway.epm.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zdkj.common.core.entity.BaseEntity;
import com.zdkj.subway.epm.util.LocalDateConverter;
import com.zdkj.subway.epm.util.LocalDateTimeConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 票务稽查问题处理
 *
 * @author cuilei
 * @date 2020-05-26 15:05:50
 */
@Data
@TableName("sw_ex_check_fault")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "票务稽查问题处理")
public class SwExCheckFault extends BaseEntity<SwExCheckFault> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    @ExcelIgnore
    private Integer id;

    /**
     * 线路code
     */
    @ApiModelProperty(value="线路code")
    @ExcelProperty(value = "线路",index = 1)
    private String lineCode;
    /**
     * 车站code
     */
    @ApiModelProperty(value="车站code")
    @ExcelProperty(value = "车站",index = 2)
    private String stationCode;

    /**
     * 稽查日期
     */
    @ApiModelProperty(value = "稽查日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "稽查日期", converter = LocalDateTimeConverter.class,index = 0)
    private LocalDateTime checkTime;

    /**
     * 稽查日期
     */
    @ApiModelProperty(value = "稽查日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    @ExcelIgnore
    private LocalDate checkDate;
    /**
     * 稽查问题详情
     */
    @ApiModelProperty(value = "稽查问题详情")
    @ExcelProperty(value = "稽查问题详情",index = 10)
    private String problemContent;
    /**
     * 被检查人
     */
    @ApiModelProperty(value = "被检查人")
    @ExcelProperty(value = "被检查人",index = 3)
    private String checkedPersonName;
    /**
     * 被检查人工号
     */
    @ApiModelProperty(value = "被检查人工号")
    @ExcelProperty(value = "被检查人工号",index = 4)
    private String checkedPersonCode;
    /**
     * 检查人
     */
    @ApiModelProperty(value = "检查人")
    @ExcelProperty(value = "检查人",index = 5)
    private String checkPersonName;
    /**
     * 检查人工号
     */
    @ApiModelProperty(value = "检查人工号")
    @ExcelProperty(value = "检查人工号",index = 6)
    private String checkPersonCode;
    /**
     * 反馈结果
     */
    @ApiModelProperty(value = "反馈结果")
    @ExcelProperty(value = "反馈结果",index = 11)
    private String feedbackResult;

    @TableField(exist = false)
    @ExcelIgnore
    private List<Integer> ids;

    /**
     * 通知状态
     */
    @ExcelIgnore
    @ApiModelProperty(value = "通知状态")
    private String noticeStatus;
    /**
     * 通知时间
     */
    @ApiModelProperty(value = "通知时间")
    @ExcelProperty(value = "通知时间", converter = LocalDateConverter.class,index = 7)
    private LocalDate noticeTime;
    /**
     * 反馈期限
     */
    @ExcelProperty(value = "反馈期限", index = 8)
    @ApiModelProperty(value = "反馈期限")
    private String backTimeLimit;
    /**
     * 反馈时间
     */
    @ApiModelProperty(value = "反馈时间")
    @ExcelProperty(value = "反馈时间", converter = LocalDateConverter.class,index = 9)
    private LocalDate backTime;
    /**
     * 反馈状态
     */
    @ExcelIgnore
    @ApiModelProperty(value = "反馈状态")
    private String backStatus;
    /**
     * 数据类型
     */
    @ExcelIgnore
    @ApiModelProperty(value = "数据类型")
    private String dataType;
    /**
     * 附件
     */
    @ApiModelProperty(value = "附件")
    @ExcelIgnore
    private String file;
    /**
     * 图片
     */
    @ExcelIgnore
    @ApiModelProperty(value = "图片")
    private String picture;
}
